package model

import "git.inspur.com/x/models"

type MetricLmaInvoke struct {
    Id              string      `xorm:"pk" json:"id" valid:"-" `
    InvokeTimestamp int64       `json:"invokeTimestamp" valid:"-"`
    CreateTime      models.Time `xorm:"created" json:"createTime" valid:"-" `
}

func (c MetricLmaInvoke) TableName() string {
    return "fcs_metric_lma_invoke"
}

func GetMetricLmaInvokeList() ([]*MetricLmaInvoke, error) {
    invokeList := make([]*MetricLmaInvoke, 0)
    err := models.Engine.Find(&invokeList)
    if err != nil {
        _ = logger.Error("GetMetricLmaInvokeList: get GetMetricLmaInvokeList error %v", err)
        return nil, err
    }
    return invokeList, nil
}

func CreateMetricLmaInvoke(metricLmaInvoke *MetricLmaInvoke) (*MetricLmaInvoke, error) {
    if _, err := models.Engine.InsertOne(metricLmaInvoke); err != nil {
        _ = logger.Error("Create metricLmaInvoke err : ", err)
        return nil, err
    }
    return metricLmaInvoke, nil
}

func UpdateMetricLmaInvoke(metricLmaInvoke *MetricLmaInvoke) (*MetricLmaInvoke, error) {
    if _, err := models.Engine.ID(metricLmaInvoke.Id).Cols("invoke_timestamp").Update(metricLmaInvoke); err != nil {
        _ = logger.Error("Update metricLmaInvoke err : ", err)
        return nil, err
    }
    return metricLmaInvoke, nil
}
